home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / program / libkb100.zip / LIBKB-1.00 / README.1ST < prev   
Text File  |  1996-07-23  |  8KB  |  207 lines

  1. ===============================================================================
  2. Markus F.X.J. Oberhumer <markus.oberhumer@jk.uni-linz.ac.at>
  3. ===============================================================================
  4.  
  5. libkb is a free, advanced and portable low-level keyboard library
  6. for MSDOS and Linux.
  7.  
  8. - Allows access to ALL keys and ALL key combinations.
  9. - Also handles Pause key and Control-Break.
  10. - Ideal for games and all applications that want
  11.   total control over the keyboard.
  12. - Supports virtual terminal switching under Linux.
  13. - Practical kbhit()/getkey() like interface for textual input.
  14. - Intelligent signal handling and emergency-exit feature
  15.   to achieve a maximum of robustness.
  16. - Easy to use. Written entirely in C without assembler code. 
  17. - Comes with full source, example programs and documentation.
  18. - Works with Borland C/Watcom C/djgpp v1+v2/Linux gcc.
  19.  
  20. Take a look at the end of this file if you have been using libkb before.
  21.  
  22.  
  23.                                         Have fun,
  24.                                          Markus
  25.  
  26.  
  27.  
  28.  
  29. Important note for all ftp maintainers and distributors
  30. -------------------------------------------------------
  31.  
  32. Please don't repack the archive because the Makefiles
  33. depend on the directory structure and names.
  34.  
  35.  
  36.  
  37. This distribution
  38. -----------------
  39.  
  40. After unpacking you should have the following 59 files
  41. in the libkb-1.00 directory:
  42.  
  43. README.1ST         this file
  44. KB.DOC             library documentation
  45. CHANGE.LOG         ChangeLog for libkb
  46. COPYING.KB         copying policy for libkb
  47. DESC.SDI           description file
  48. FILE_ID.DIZ        description file
  49. libkb.lsm          Linux Software Map data entry
  50.  
  51. Makefile           ready-to-run makefile for Linux and djgpp v2
  52. Makefile.lnx       Linux makefile stuff
  53. Makefile.inc       common makefile stuff
  54. Makefile.mfx       this is my dmake MSDOS Makefile - won't work for you...
  55. make_bcc.bat       simple MSDOS make driver for Borland C
  56. make_dj1.bat       simple MSDOS make driver for djgpp v1 + gcc
  57. make_dj2.bat       simple MSDOS make driver for djgpp v2 + gcc
  58. make_emx.bat       simple MSDOS make driver for emx + gcc
  59. make_wcc.bat       simple MSDOS make driver for Watcom C32
  60.  
  61. bin/               precompiled binaries (6)
  62.    kbtstdos.exe       test program - MSDOS executable, Borland C v3.1
  63.    kbtstlnx.out       test program - Linux executable, gcc 2.6.3
  64.    tubedos.exe        demo program - MSDOS executable, djgpp v2 + gcc 2.7.2
  65.    tubelnx.out        demo program - Linux executable, gcc 2.6.3
  66.    tube.mod           sound data (MOD) for the tube demo program 
  67.    cwsdpmi.exe        free DPMI host for MSDOS (needed for djgpp v2)
  68.  
  69. include/           include files (2)
  70.    kb.h               public interface for libkb
  71.    kbmlock.h          public include file - memory locking
  72.  
  73. src/               library source (14)
  74.    _kb.h              library source - private include file
  75.    _kblinux.h         library source - private include file for kbhandle.c
  76.    _kbmsdos.h         library source - private include file for kbhandle.c
  77.    _handler.h         library source - private include file for kbhandle.c
  78.    kbhandle.c         library source - keyboard handler
  79.    kblinux.c          library source - Linux stuff
  80.    kbmlock.c          library source - memory locking
  81.    kbos.c             library source - OS and BIOS routines
  82.    kbsignal.c         library source - signal handling
  83.    kbtables.c         library source - tables and high level access functions
  84.    mkkbname.pl        library source utility - Perl script
  85.    mktables.c         library source utility
  86.    _kbname.hh         library source - automatically generated by mkkbname.pl
  87.    _kbtable.hh        library source - automatically generated by mktables.c
  88.  
  89. samples/           example and test programs (8)
  90.    intro.h            test program - include file
  91.    myconio.h          test program - include file
  92.    kbtst.c            test program
  93.    keycodes.c         test program to examine the keycodes
  94.    simple.c           very simple usage example program
  95.    sigalrm.c          test of the emergency alarm feature 
  96.    tube.c             nice demo to test libkb with graphics and sound
  97.    tube.h             demo - include file
  98.  
  99. config/            configuration (6)
  100.    dos/  
  101.       makefile.bcc       simple MSDOS Makefile for Borland C and Borland make
  102.       makefile.dj1       simple MSDOS Makefile for djgpp v1 and GNU make
  103.       makefile.dj2       simple MSDOS Makefile for djgpp v2 and GNU make
  104.       makefile.wcc       simple MSDOS Makefile for Watcom C and Watcom make
  105.    linux/ 
  106.       aout_so.mk         Linux a.out shared library makefile include
  107.       elf_so.mk          Linux ELF shared library makefile include
  108.  
  109. util/              utility section (7)
  110.    8.c                Linux emergency keyboard restorer
  111.    8.bat              simple MSDOS textmode restorer
  112.    hardware.doc       some documentation about keyboard controller hardware
  113.    keys.h             keycodes (from the djgpp v2 distribution)
  114.    makefile           Makefile
  115.    vt.c               Linux VT ioctl internal test program
  116.    mkdist.pl          utility - Perl script
  117.  
  118.  
  119.  
  120. Running the precompiled test programs
  121. -------------------------------------
  122.  
  123. Usage: kbtst [123456] [optional-second-argument]
  124. Description:
  125.        test various functions of the libkb library
  126. Commands:
  127.        1    install keyboard handler, use kb_inkey()
  128.        2    install keyboard handler, use kb_getkey()
  129.        3    use kb_os_getkey()
  130.        4    use kb_bios_getkey()
  131.        5    use getch()
  132.        6    install keyboard handler, user interface (DEFAULT)
  133.  
  134. If you pass a second argument, command 1-5 will run a simple
  135. benchmark whereas command 6 will start up with some possibly dangerous
  136. features enabled (like emergency exit).
  137.  
  138.  
  139. Usage: tube [options]
  140.  
  141.   If tube doesn't work properly, try the 'nosound' option.
  142.   There are some other options as well, see source code.
  143.  
  144.  
  145.  
  146. Availability
  147. ------------
  148.  
  149. The latest version of libkb should always be available at the
  150. following sites (and their mirrors):
  151.  
  152. ftp://x2ftp.oulu.fi/pub/msdos/programming/libs   (primary MSDOS site)
  153. ftp://ftp.simtel.net/pub/simtelnet/msdos/c       (alternate MSDOS site)
  154. ftp://ftp.coast.net/Coast/msdos/c                (alternate MSDOS site)
  155. ftp://sunsite.unc.edu/pub/Linux/libs             (primary Linux site)
  156. ftp://tsx-11.mit.edu/pub/linux/sources/libs      (alternate Linux site)
  157.  
  158. Note that all distributions contain the same files.
  159. They are just packed with different archivers, zip and tar+gzip respectively.
  160.  
  161.  
  162.  
  163.  
  164. Important changes from v0.90 to v1.00
  165. -------------------------------------
  166.  
  167. Some KB_FLAG_ constants changed their value, some were added.
  168. _kb_iswin() return value changed.
  169.  
  170. You have to adapt and recompile your applications, sorry.
  171.  
  172.  
  173.  
  174. Important changes from v0.49 to v0.90
  175. -------------------------------------
  176.  
  177. The access-macros for all variables have been changed so that they produce 
  178. no valid lvalue any more.
  179.  
  180. The memory locking prototypes have changed. Now there is an
  181. extra include file for memory locking services.
  182. Memory locking is now also implemented for Watcom C32.
  183.  
  184.  
  185.  
  186. Important changes from v0.36 to v0.49
  187. -------------------------------------
  188.  
  189. This version introduces some incompatibilities with previous versions.
  190. You have to adapt and recompile your applications, sorry.
  191.  
  192. Incompatibilities in the interface:
  193. - install functions now return 0 for ok and -1 for error !!!
  194. - KB_SCAN_PRINT split into 2 scancodes (KB_SCAN_LAST_CONSOLE)
  195. - name of some KB_SCAN_ macros changed, 3 new Microsoft keys added
  196. - some KB_FLAG_ constants removed, some changed their value, some added
  197. - _kb_flags now is an unsigned long, kb_install() also expects this
  198. - _kb_last_key now is an unsigned short and includes the shift flags
  199. - declaration of kb_signal_handler changed (should be no problem)
  200.  
  201. Incompatibilities in the implementation:
  202. - kb_inkey and kb_getkey: keycode value may differ
  203. - kb_os_getkey and kb_bios_getkey: keycode value may differ,
  204.     now return 0 if no key is available
  205. - additional signals are catched
  206.  
  207.